package com.vote.business.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.vote.common.annotation.Excel;
import com.vote.common.core.domain.BaseEntity;

/**
 * 投票用户对象 vote_user
 * 
 * @author ruoyi
 * @date 2025-07-16
 */
public class VoteUser extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 投票用户ID */
    private Long id;

    /** 关联系统用户ID（内部用户用，外部用户为NULL） */
    @Excel(name = "关联系统用户ID", readConverterExp = "内=部用户用，外部用户为NULL")
    private Long sysUserId;

    /** 投票昵称（外部用户必填） */
    @Excel(name = "投票昵称", readConverterExp = "外=部用户必填")
    private String nickname;

    /** 手机号（用于验证） */
    @Excel(name = "手机号", readConverterExp = "用=于验证")
    private String phone;

    /** 是否匿名投票（0-否，1-是） */
    @Excel(name = "是否匿名投票", readConverterExp = "0=-否，1-是")
    private Long isAnonymous;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setSysUserId(Long sysUserId) 
    {
        this.sysUserId = sysUserId;
    }

    public Long getSysUserId() 
    {
        return sysUserId;
    }

    public void setNickname(String nickname) 
    {
        this.nickname = nickname;
    }

    public String getNickname() 
    {
        return nickname;
    }

    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }

    public void setIsAnonymous(Long isAnonymous) 
    {
        this.isAnonymous = isAnonymous;
    }

    public Long getIsAnonymous() 
    {
        return isAnonymous;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("sysUserId", getSysUserId())
            .append("nickname", getNickname())
            .append("phone", getPhone())
            .append("isAnonymous", getIsAnonymous())
            .append("createTime", getCreateTime())
            .toString();
    }
}
